using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Models.APIModels
{
    #region 添加域名返回结构
    public class AddDomainRetMsgModel
    {
        public StatusModel status { get; set; }
        public AddDomainRetMsgItemModel domain { get; set; }
    }
    public class AddDomainRetMsgItemModel
    {
        public int id { get; set; }
        public string punycode { get; set; }
        public string domain { get; set; }
    }
    #endregion
    #region 域名列表
    public class DomainListModel
    {
        public StatusModel status { get; set; }
        public DomainListInfoModel info { get; set; }
        public List<DomainListItemModel> domains { get; set; }
    }
    /// <summary>
    /// 域名数量信息
    /// </summary>
    public class DomainListInfoModel
    {
        /// <summary>
        /// 域名总数
        /// </summary>
        public int domain_total { get; set; }
        /// <summary>
        /// 域名总数
        /// </summary>
        public int all_total { get; set; }
        /// <summary>
        /// 自己创建的域名总数
        /// </summary>
        public int mine_total { get; set; }
        /// <summary>
        /// 共享得到的域名总数
        /// </summary>
        public int share_total { get; set; }
        /// <summary>
        /// VIP 域名总数
        /// </summary>
        public int vip_total { get; set; }
        /// <summary>
        /// 星标域名的总数
        /// </summary>
        public int ismark_total { get; set; }
        /// <summary>
        /// 暂停解析的域名总数
        /// </summary>
        public int pause_total { get; set; }
        /// <summary>
        /// DNS 设置错误的域名总数(包括未注册的和 NS 地址没有改到 DNSPod 的域名)
        /// </summary>
        public int error_total { get; set; }
        /// <summary>
        /// 已锁定的域名总数
        /// </summary>
        public int lock_total { get; set; }
        /// <summary>
        /// 已被封禁的域名总数
        /// </summary>
        public int spam_total { get; set; }
        /// <summary>
        /// VIP 即将到期的域名总数(30天之内)
        /// </summary>
        public int vip_expire { get; set; }
        /// <summary>
        /// 共享出去的域名总数
        /// </summary>
        public int share_out_total { get; set; }
    }
    /// <summary>
    /// 域名信息
    /// </summary>
    public class DomainListItemModel
    {
        /// <summary>
        /// 域名 ID, 即为 domain_id
        /// </summary>
        public int id { get; set; }
        /// <summary>
        ///  域名状态
        /// “enable”: 正常
        /// “pause”: 已暂停解析
        /// “spam”: 已被封禁
        /// “lock”: 已被锁定
        /// </summary>
        public string status { get; set; }
        /// <summary>
        /// 域名等级
        ///“D_Free”: 旧免费套餐(旧套餐)
        ///“D_Plus”: 个人豪华套餐(旧套餐)
        ///“D_Extra”: 企业Ⅰ(旧套餐)
        ///“D_Expert” 企业Ⅱ(旧套餐)
        ///“D_Ultra”: 企业Ⅲ(旧套餐)
        ///“DP_Free” 免费套餐
        ///“DP_Plus”: 个人专业版
        ///“DP_Extra”: 企业创业版
        ///“DP_Expert”: 企业标准版
        ///“DP_Ultra”: 企业旗舰版
        /// </summary>
        public string grade { get; set; }
        /// <summary>
        /// 域名分组 ID
        /// </summary>
        public string group_id { get; set; }
        /// <summary>
        /// 是否开启搜索引擎推送功能
        /// “yes”: 已开启
        /// “no”: 未开启
        /// </summary>
        public string searchengine_push { get; set; }
        /// <summary>
        /// is_mark: 是否设置域名星标
        /// “yes”: 已设置
        /// “no”: 未设置
        /// </summary>
        public string is_mark { get; set; }
        /// <summary>
        /// 域名默认的 TTL 值
        /// </summary>
        public int ttl { get; set; }
        /// <summary>
        /// CNAME 加速状态
        /// “enable”: 已启用
        /// “disable”: 已禁用
        /// </summary>
        public string cname_speedup { get; set; }
        /// <summary>
        /// 域名备注
        /// </summary>
        public string remark { get; set; }
        /// <summary>
        /// 添加域名的时间
        /// </summary>
        public string created_on { get; set; }
        /// <summary>
        /// 域名最后修改时间
        /// </summary>
        public string updated_on { get; set; }
        /// <summary>
        /// 使用 punycode 转码之后的域名
        /// </summary>
        public string punycode { get; set; }
        /// <summary>
        /// 域名扩展的状态
        /// “notexist”: 域名没有注册
        /// “dnserror”: DNS 设置错误
        /// “”: 正常
        /// </summary>
        public string ext_status { get; set; }
        /// <summary>
        /// 域名
        /// </summary>
        public string name { get; set; }
        /// <summary>
        /// 域名等级(中文说明)
        /// </summary>
        public string grade_title { get; set; }
        /// <summary>
        /// 是否是VIP 等级
        /// “yes”: 是 VIP
        /// “no”: 不是 VIP
        /// </summary>
        public string is_vip { get; set; }
        /// <summary>
        /// 域名所有者
        /// </summary>
        public string owner { get; set; }
        /// <summary>
        /// 域名下记录总条数
        /// </summary>
        public int records { get; set; }
        /// <summary>
        /// 是否授权给安全中心(系统内部标识状态, 开发者可忽略)
        /// </summary>
        public bool auth_to_anquanbao { get; set; }
    }
    #endregion
    #region 域名信息
    public class DomainInfoModel
    {
        public StatusModel status { get; set; }
        public DomainInfoItemModel domain { get; set; }
    }
    public class DomainInfoItemModel
    {
        public int id { get; set; }
        public string name { get; set; }
        public string punycode { get; set; }
        public string grade { get; set; }
        public string grade_title { get; set; }
        public string status { get; set; }
        public string ext_status { get; set; }
        public int records { get; set; }
        public string group_id { get; set; }
        public string is_mark { get; set; }
        public string remark { get; set; }
        public string is_vip { get; set; }
        public string searchengine_push { get; set; }
        public int user_id { get; set; }
        public string created_on { get; set; }
        public string updated_on { get; set; }
        public int ttl { get; set; }
        public string cname_speedup { get; set; }
        public string owner { get; set; }
        public string vip_start_at { get; set; }
        public string vip_end_at { get; set; }
        public string vip_auto_renew { get; set; }
    }
    #endregion
    #region 域名日志
    public class DomainLogModel
    {
        public StatusModel status { get; set; }
        public List<string> log { get; set; }
    }
    #endregion
    #region 域名共享列表
    public class DomainShareListModel
    {
        public StatusModel status { get; set; }
        public DomainShareListItemModel share { get; set; }
        public string owner { get; set; }
    }
    public class DomainShareListItemModel
    {
        public string share_to { get; set; }
        public string mode { get; set; }
        public string  status { get; set; }
    }
    #endregion
}
